Improved system performance and reduced errors are high priority goals of many processing environments. In an effort to achieve these goals, diagnostic and tuning tools are employed. One such tool is a sampling facility that gathers data relating to processing that occurs within a processing environment.
Specifically, a sampling facility is used to periodically take a snapshot of a central processing unit executing within the environment and to record state information associated with the central processing unit. This information is used for debugging and/or to improve system performance.
Today, at each sampling time, the data is collected, stored in a register, and an interrupt is provided to the control program. Upon interruption, the control program reads out the sample data, resets the register and resumes the operation. This interruption at each sampling interval creates significant system overhead, and in some real-time environments, may even distort the measured data. This overhead problem causes users to limit the amount of sample data to be collected, and thus, limit the practical use of the sampling facility.